Windows Server on EC2でDFSレプリケーションを構築してみた
はじめに
Windows Server 2022でDFSレプリケーションを構築してみました。DFSレプリケーションは、複数のファイルサーバー間でファイルを同期する機能です。ファイルサーバーの冗長化や負荷分散を実現するために利用されます。
AWSではFSx for Windows File Serverを利用することで、それらを簡単に実現することができますが、セキュリティ上の理由や特定のシステム要件により、Windows Server on EC2でファイルサーバーを構築することが求められる場合もあります。
設定値
以下のような設定を元に手順を進めます。
各ファイルサーバーはADに参加している必要がありますので、事前にADを構築しておく必要があります。
設定 | 値 | 備考 |
---|---|---|
ADドメイン | miya.local | ドメインの機能レベルはWindows Server 2016 |
ファイルサーバ1のホスト名 | FS11 | |
ファイルサーバ2のホスト名 | FS12 |
構築手順
1. EC2の構築
Windows Server 2022をインストールしたEC2インスタンスを2台用意します。AMIは ami-09eb7f8fa1e947e23(Windows_Server-2022-Japanese-Full-Base-2024.11.13)
を利用します。
また、ストレージ用にEBSボリュームを追加し、それぞれDドライブに設定します。
1.1 セキュリティグループの設定
ファイルサーバー間の通信のために、以下のセキュリティグループを設定します。
タイプ | プロトコル | ポート範囲 | 備考 |
---|---|---|---|
SMB | TCP | 445 | |
カスタムTCPルール | TCP | 135 | RPC |
カスタムTCPルール | TCP | 49152-65535 | ランダムに割り当てられた非特権 TCP ポート |
2. ファイルサーバーの構築
2.1 ファイルサーバーの役割の追加
各ファイルサーバーの[サーバーマネージャー]を開き、[役割と機能の追加]をクリックします。次の役割にチェックを入れてインストールします。
- ファイルサーバー
- DFS名前空間
- DFSレプリケーション
2.2 共有フォルダの準備
FS11とFS12にそれぞれフォルダを作成します。
FS11にはDドライブに D:¥shared¥development
を作成します。
FS12にはDドライブに D:¥replicated-development
を作成します。
FS11からFS12へ単方向でレプリケートするわけではないのですが、わかりやすくするために replicated-development
という名前を付けました。
3. DFSの設定
3.1 名前空間の作成
まず、DFSの名前空間を作成します。DFSの名前空間は、複数のファイルサーバーを1つの論理的なファイルサーバーとして扱うための仕組みです。
FS11の[サーバーマネージャー]を開き、[ツール] - [DFS管理]を選択します。
[新しい名前空間]を選択します。
名前空間をホストするサーバーを選択します。今回はFS11をホストサーバとします。
次に名前空間の名前を入力します。今回は Public
とします。これにより、クライアントから ¥¥miya.local¥Public
という名前空間でアクセスできるようになります。
名前空間の種類はデフォルトのままで進めます。
内容を確認して[作成]をクリックします。
3.2 レプリケーショングループの作成
次に、レプリケーショングループを作成します。レプリケーショングループは、ファイルのレプリケーションを管理するための仕組みです。
[レプリケーション]から、[新しいレプリケーショングループ]を選択します。
レプリケーショングループの種類は、[汎用レプリケーショングループ]を選択します。
レプリケーショングループの名前を入力します。今回は development-group
とします。
レプリケーショングループのメンバーを追加します。[追加]をクリックし、FS11とFS12を追加します。
トポロジの種類、レプリケーショングループのスケジュールおよび帯域幅の設定はデフォルトのままで進めます。
プライマリメンバーを選択します。今回はFS11を選択します。
レプリケートするフォルダを選択します。今回はFS11の D:¥shared¥development
を選択します。
他のメンバーにおけるローカルパスを選択します。今回はFS12の D:¥replicated-development
を選択します。
内容を確認して[作成]をクリックします。
3.3 名前空間での共有と公開
最後に、名前空間で共有フォルダを公開します。
[レプリケートフォルダー]から、[名前空間での共有と公開]を選択します。
公開方法は、[レプリケートフォルダーを名前空間で共有および公開する]を選択します。
先ほど設定した内容が表示されるので、内容を確認して[次へ]をクリックします。
名前空間のパスは、親フォルダーに ¥¥miya.local¥Public
を指定します。
内容を確認して[共有]をクリックします。
4. 確認
ファイルを1つのファイルサーバーに配置し、もう1つのファイルサーバーにファイルが同期されていることを確認します。
おわりに
思っていたよりもサクッと構築することができました。
DFSレプリケーションを利用することで、ファイルサーバーの冗長化や負荷分散を実現できます。Windows Server on EC2でDFSレプリケーションを構築する際は、上記の手順を参考にしてください。
とは言え、EC2の運用管理コストが発生してしまうので、可能であればFSx for Windows File Serverを利用することをお勧めいたします。